package demo9.test3;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 姚东名
 * Date: 2024-06-13
 * Time: 15:13
 */
//9.1.2静态内部类
    //被static修饰的内部类称为静态内部类。
public class OutClass {
    private int a;
    static int b;
    public void methodA(){
        a = 10;
        System.out.println(a);
    }
    public static void methodB(){
        System.out.println(b);
    }
    // 静态内部类：被static修饰的成员内部类
    static class InnerClass{
        public void methodInner(){
        // 在内部类中只能访问外部类的静态成员
        // a = 100; // 编译失败，因为a不是类成员变量
                    b =200;
        // methodA(); // 编译失败，因为methodB()不是类成员方法
            methodB();
        }
    }
    public static void main(String[] args) {
        // 静态内部类对象创建 & 成员访问
        OutClass.InnerClass innerClass = new OutClass.InnerClass();
        innerClass.methodInner();
    }
}
/*
【注意事项】
 1. 在静态内部类中只能访问外部类中的静态成员
 2. 创建静态内部类对象时，不需要1先创建外部类对象
 */